/*
	PlAr is Platform Arena: a 2D multiplayer shooting game
	Copyright (c) 2010, Antonio Ragagnin <spocchio@gmail.com>
    All rights reserved.

    This file is licensed under the New BSD License.
*/


package plar.core;
/**
 * An action is something attached to an Element of the Level
 * it could be executed in many conditions:
 *
 * @author Antonio Ragagnin
 *
 */
public  class Action {
    /**
     *  me points to the {@link Element} that manage this Action, used bye single-Element actions
     *  ActionManager would set this parameter AUTOMATICALLY
     */
    public Element me;
	/**
	* it is not neccessary but used by some Actions.
	*/
    public String name;
    /**
     * run is called AT EACH physics-layer step byte Game.run();
     */
    public void run() {}

    /**
     * this is called asynchronously in special cases,
     * (for example, user Input or creating an Element)
     * there is not rule for what param or return should be used.
     *
     * @param parameters
     * @return
     */
    public Object force( Object parameters) {
        return null;
    }
}


